/**
 * Created with IntelliJ IDEA
 * Description 方法的使用
 * User: 王杰
 * Date: 2025-05-10
 * Time: 12:19
 */
public class Test {

    // 求斐波那契数列的第n项
    public static int fib(int n) {
        if (n == 1 || n == 2) {
            return 1;
        }
        return fib(n-1) + fib(n-2);
    }

    // 输入一个非负整数，返回组成它的数字之和 如：1729 -> 1+7+2+9 = 19
    public static int numberSum(int n) {
        if (n < 10) {
            return n;
        }

        return n % 10 + numberSum(n / 10);
    }

    // 递归求 1+2+ ... + 10
    public static int sum(int n) {
        if (n == 0) {
            return 0;
        }
        return n + sum(n - 1);
    }

    // 按顺序打印一个数字的每一位
    public  static void print(int n) {
        if(n < 10) {
            System.out.print(n);
            return;
        }
        print(n / 10);
        System.out.print(n % 10);
    }

    public static void main(String[] args) {
        print(123);
        System.out.println();
        System.out.println(sum(5));
        System.out.println(numberSum(1729));

        System.out.println(fib(1)); // 1
        System.out.println(fib(5)); // 1 + 1 + 2 + 3 + 5
        System.out.println(fib(6)); // 1 + 1 + 2 + 3 + 5 + 8
        System.out.println(fib(40));
    }
}
